.grid-3 {
    display: flex;          /* 让子项排成一行 */
    flex-wrap: wrap;        /* 关键：超出自动换行 */
    gap: 20px;              /* 可选：列间距 */
    /*每行 3 列 → 中间有 2 条 gap*/
    /*所以总间隔 = 2 × 16px = 32px*/
}

.grid-3 .card {
    flex: 0 0 calc((100% - 2*20px) / 3);   /* 固定 1/3 宽度，减去 gap */
    /* flex: 0 0 calc((100% - (列数 - 1) × gap) / 列数); */
    box-sizing: border-box;
    /*
        border-box:把 padding 和 border 算进元素总宽里,
        默认 content-box:width + padding + border
        border-box:width

    */
}